﻿using System;
using UnityEngine;

public class GameLayers
{
    public static GameLayers AirWall = new GameLayers("AirWall");
    public static GameLayers Character = new GameLayers("Character");
    public static GameLayers Default = new GameLayers("Default");
    public static GameLayers Effect = new GameLayers("Effect");
    public static GameLayers Floor = new GameLayers("Floor");
    public static GameLayers Item = new GameLayers("Item");
    private int m_index;
    public static GameLayers Obstacle = new GameLayers("Obstacle");
    public static GameLayers Wall = new GameLayers("Wall");

    public GameLayers(string layerName)
    {
        this.m_index = LayerMask.NameToLayer(layerName);
    }

    public static implicit operator int(GameLayers layerMask)
    {
        return layerMask.value;
    }

    public static implicit operator LayerMask(GameLayers combine)
    {
        return combine.value;
    }

    public int index
    {
        get
        {
            return this.m_index;
        }
    }

    public int value
    {
        get
        {
            return (((int) 1) << this.m_index);
        }
    }
}

